package com.kscrm.web.mapper;

import com.kscrm.web.criteria.ProjectCountCriteria;
import com.kscrm.web.domain.Project;

import java.util.List;

/**
 * 合作项目Mapper接口
 * 
 * @author Dhq
 * @date 2025-02-18
 */
public interface ProjectMapper 
{
    /**
     * 查询合作项目
     * 
     * @param id 合作项目主键
     * @return 合作项目
     */
    public Project selectProjectById(Long id);

    /**
     * 查询合作项目列表
     * 
     * @param project 合作项目
     * @return 合作项目集合
     */
    public List<Project> selectProjectList(Project project);

    /**
     * 新增合作项目
     * 
     * @param project 合作项目
     * @return 结果
     */
    public int insertProject(Project project);

    /**
     * 修改合作项目
     * 
     * @param project 合作项目
     * @return 结果
     */
    public int updateProject(Project project);

    /**
     * 删除合作项目
     * 
     * @param id 合作项目主键
     * @return 结果
     */
    public int deleteProjectById(Long id);

    /**
     * 批量删除合作项目
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteProjectByIds(Long[] ids);

    /**
     * 统计合作项目数量
     *
     * @param criteria 条件
     * @return 数量
     */
    int selectProjectCount(ProjectCountCriteria criteria);


    /**
     * 统计合作项目金额
     * @param criteria
     * @return
     */
    int sumProjectMoney(ProjectCountCriteria criteria);
}
